Automated negotiation agent with opponent&#39;s behavior prediction

ABSTRACT

Software based intelligent agents performing automated negotiations for the generation of offers leading to settlements that maximize the utility. A set of opponent&#39;s models, which best represents the opponent&#39;s profile, behavior, and cognitive orientation, is paired to a set of hypothetical agents. The hypothetical agent and the associated opponent model bargains against each other to generate a hypothetical sequence of proposed agent&#39;s offers and predicted opponent&#39;s counter offers. An ensemble unifies the proposed and predicted sequences based on the current and past performance measured according to the accuracy of the opponent&#39;s behavior prediction and agent&#39;s utility maximization. The opponent&#39;s adopted tactic is dynamically learned during the negotiation to update the opponent&#39;s model. The initial belief about the probability distribution of the opponent&#39;s preferences and internal states is set according to the historical negotiation&#39;s data. The belief is revised according to observed outcomes of the current negotiation.

FIELD OF THE INVENTION

The present invention relates to intelligent agent computer programs executable on computer systems. To be more specific, this invention pertains to automated negotiation such that an automated negotiation agent can negotiate on behalf of a consumer and/or business. The goal of the automated agents is not only to replace the human negotiators but to find better outcomes than human negotiators. In certain non-limiting embodiments, this invention relates to different real-world domaines ranging from e-commerce to mediation for conflict settlement as part of the Alternative Dispute Resolution (ADR) process, and including operating systems for distribute architectures which negotiate resources allocation. In other non-limiting embodiments, this invention relates to trajectories negotiation amongst autonomous vehicles, cyclists and pedestrians.

BACKGROUND

Competitive negotiation can be described as the decision-making process of resolving a conflict involving two or more parties over a single mutually exclusive goal. Typical example is the exchange of an object between a buyer and a seller where a price has to be agreed. The negotiation protocol consist of three actions: make an offer, accept the offer, interrupt the negotiation. Buyer and Seller makes offers and counter offers sequentially as described in the three-stage Rubinstein (Perfect equilibrium in a bargaining, 1982) sequential-bargaining game. In game theory, it is described as a zero-sum game where a shift in the value along a single dimension in either direction means that one side is better off and the other is worse off. Thus, the self-interest of a party in negotiation may be captured by a utility function:

${U_{b}(i)} = \frac{{MAX}_{b} - {X_{b}(i)}}{{MAX}_{b} - {MIN}_{b}}$

where Ub is the utility of the buyer at the negotiation round i, MAX is the maximum amount that the buyer is willing to pay, MIN is the amount corresponding to the opening offer.

The utility function for the seller is

${U_{s}(i)} = {\frac{{X_{s}(i)} - {MIN}_{s}}{{MAX}_{s} - {MIN}_{s}}.}$

It is important to note that there is a range of possible situations that the parties can agree on: this is the Zone Of Possible Agreement (ZOPA) or the bargaining zone if MAX_(b)>MIN_(s).

In the negotiation process, one party tries to maximize his or her utility, and the behavior of a party in any moment of negotiation is decided by an established strategy. Agents implement strategies that usually vary from equilibrium strategies through optimal approaches to heuristics. Examples of agents among others, Sycara and Zeng (1996), who introduce a generic agent called Bazaar, Faratin, Sierra, and Jennings (2002), who propose an agent that is able to make trade-offs in negotiations and is motivated by maximizing the joint utility of the outcome as utility maximizers that seek Pareto-optimal agreements. These strategies are the result of the analytic (equilibrium strategies) and the computation research (optimal approaches). The former creates elegant and simplified models that provide insights and often formal guarantees about optimality or model behavior, whereas the latter aims to incorporate additional factors in the analytic models thus making them more realistic (Katia Sycara and Tinglong Dai in Agent Reasoning in Negotiation). Pure mathematical models are currently oversimplified versions of reality. Heuristic approximate solutions to analytic models of high computational complexity but need extensive evaluation, typically through simulations and empirical analysis. Thus, neither the pure optimal or the pure heuristic approach guarantee the implementation of effective agent strategies.

Some strategies are opponent independent. To avoid exploitation, agents often keep their preferences private during the negotiation; however, if an agent has no knowledge about its opponent's preferences, then this can result in a suboptimal outcome. A common technique to counter this is learning the opponent's preference profile during the negotiation, which aids in increasing the quality of the negotiation outcome by identifying bids that are more likely to be accepted by the opponent. Previous approaches to negotiation agents have focused on agents unable to predict the opponent's behavior and therefore very often they were implementing negotiation strategies which failed to persuade the opponent towards the agent's desired outcome. Paruchuri (2009) is a first attempt to analytically model agents social motives and their potential adaptation during the negotiation process. They model agents selfish/prosocial motivation as part of the state in a Partially-Observable Markov Decision Process (POMDP) model, and provide possibilities for negotiating agents to learn each others social motives through interactive moves. If there have been previous negotiations with a similar opponent, the opponent model can be prepared before the start of the negotiation (offline models). Contrastingly, if the agent has to learn the preferences during the negotiation it performs online modeling. Opponent modeling does not always bring the best outcomes. One reason that opponent modeling does not guarantee a better outcome for an agent is that the model can be a poor representation of the opponent's preferences. Yu, Ren & Zhang (2013) proposed a learning agent that use a combination between Bayesian Learning (BL) and regression analysis in order to predict the deadline and the reserve point. They defined a set of hypotheses using the Bayesian Learning and updated those hypotheses based on the distance generated by regression analysis between the hypotheses about the reserve value and historical offers made by the opponent. Learning the opponent model can be computationally expensive and can therefore influence the amount of bids that can be explored. More precisely, the gain in using the model should be higher than the loss in utility due to decreased exploration of the outcome space (time/exploration trade-off, ANAC 2011).

Many efforts have been made to improve the accuracy of the models, which can be evaluated against simple baseline strategies or with the adoption of negotiation platforms. Coehoorn and Jennings (2004) evaluate the performance of their opponent model using a standard bidding strategy that can be used both with and without a model. GENIUS is a negotiation platform focused on bilateral negotiation, which allows to generate better automated negotiators, explore different learning and adaptation strategies and opponent models, and collect state-of-the-art negotiating agents, negotiation domains, and preference profiles. It also enables making them available and accessible for the negotiation research community. GENIUS every year introduces new negotiation agents with better learning techniques to model the opponent. GENIUS showed a lack accuracy for controlling the agents' behavior, where agents may encounter human decision makers whose behavior is diverse. Such diverse behavior cannot be captured by a monolithic model; humans tend to make mistakes because they are affected by cognitive, social, and cultural factors, etc. (Bazerman and Neale 1992; Lax and Sebenius 1992). The negotiation process refers to the events and interactions that occur between parties before the outcome and includes all verbal and non-verbal exchanges among parties, the enactment of bargaining strategies and the external and situational events that influence the negotiation (Katia Sycara and Tinglong Dai in Agent Reasoning in Negotiation).

Most of the research that so far led to the creation of negotiation models is based on theoretical analysis due to the lack of prior data in a consistent quantity. The recent release of Best Offer bargaining dataset made by Ebay (March 2018) as part of the “Bilateral Bargaining through the Lens of Big Data” project opened up to research based on empirical data: “Communication and Bargaining Breakdown: An Empirical Analysis”, January 2018 and “Sequential Bargaining in the Field: Evidence from Millions of Online Bargaining Interactions”, March 2018. The analysis of this amount of data confirmed the validity of some of the patterns on which were based the theoretical models but showed at the same time their rigidity and the lack of consistency in all the domains.

The present invention addresses these and other problems associated with the prior art in implementing automated negotiation agent with opponent's behavior prediction:

-   -   Provides a more flexible solution than the implementation of         negotiation strategy based on game-trees.     -   Online modeling. It is domain-independent as it is not based         only on past experience model-learning.     -   Offline modeling. It is not limited to the learning of an         unknown opponent in a single session, but also take advantage of         the past experience, when available, by applying knowledge         transfer.     -   It is negotiation driving forces aware. It captures and analyze         the signals exchanged between the parties throughout the         negotiation to identify the opponent's adopted strategy and         model the agent accordingly.

BRIEF SUMMARY OF THE INVENTION

Bilateral automated negotiation in which two agents with incomplete information adopt an alternating-offers protocol trying to reach an agreement on a single-issue while maximizing their own utility is the preferred embodiment for this invention. Other possible embodiments include, but are not limited to, multi-issues multilateral automated negotiation with incomplete information among multiple agents. Examples of these embodiments can be obtained by converting multiple issues into a single issue and multiple negotiating threads can implement bilateral negotiation to provide multilateral negotiation among multiple agents.

Automated agents implements multi-strategy abilities suitable for the specific negotiation. Agents improve the performance by learning from the opponent's behavior with the adoption of Machine Learning and Cognitive Computing. Best route for settlement is provided as in the case of turn-by-turn vehicle navigation. The agent makes no assumptions about the internals of its opponent, it focuses only on the signals, that it receives, to build the opponent's psychological and behavioral model. Negotiating best practices, hints and opponent's strategy insights are provided by the agent. Negotiations history and opponents models are stored in private data base. Negotiation efficiency is improved by learning from the negotiations history.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 “Offer Profiler” shows the functional block diagram of the automated agent's system overview.

FIG. 2 “Hypothetical Offer Generator” illustrates the two main functional blocks generating the agent's offers: Hypothetical opponent's offer predictor block and the Hypothetical agent's offer proposer.

FIG. 3 “Hypothetical Opponent's Offer Predictor” presents the functional block diagram of the opponent's offer predictor.

FIG. 4 “Hypothetical Agent's Offer Proposer” presents the functional block diagram of the agent's offer proposer.

FIG. 5 “Observer” presents the functional block diagram of the observer module.

DETAILED DESCRIPTION AND BEST MODE OF IMPLEMENTATION

The following discussion is directed to various embodiments of the invention. Unless otherwise specified, the embodiments disclosed should not be interpreted as limiting, or otherwise used to limit, the scope of the disclosure or claims. In addition, one skilled in the art will understand that the following description has broad application. The discussion of any embodiment is meant only to be exemplary of that embodiment and is not intended to suggest that the scope of the disclosure or claims is limited to that embodiment. In this disclosure, numerous specific details may be set forth to provide a sufficient understanding of the embodiment. However, those skilled in the art will appreciate that the invention may be practiced without such specific details. In other instances, well-known elements may have been illustrated in schematic or block diagram form in order not to obscure the disclosure in unnecessary detail. Additionally, some details may have been omitted where such details were not considered necessary to obtain a complete understanding of the embodiment, and are considered to be within the understanding of persons of ordinary skill in the relevant art. Further, all functions described herein may be performed in either hardware or software, or a combination thereof, unless indicated otherwise.

The formal model of the bilateral negotiation is the following: agent and opponent acts as buyer or seller and are denoted with i (i∈{b, s}) and alternatively at time t∈TΛt<T_(max) take actions of the type:

$\begin{matrix} {{A(t)} = \left\{ {\begin{matrix} {{{{{offer}\mspace{14mu}{X_{i}(t)}} \in {{{\mathbb{R}}\mspace{14mu}{with}\mspace{14mu}{X_{i}(t)}} > {{X_{i}\left( {t - 1} \right)}\mspace{14mu}{if}\mspace{14mu} i}}} = {{{{buyer}\mspace{14mu}{or}\mspace{14mu}{X_{i}(t)}} < {{X_{i}\left( {t - 1} \right)}\mspace{14mu}{if}\mspace{14mu} i}} = {seller}}};} \\ {{{{accept}\mspace{14mu}{X_{i}(t)}} \in {\mathbb{R}}};} \\ {{quit}\mspace{14mu}{with}\mspace{14mu}{no}\mspace{14mu}{agreement}} \end{matrix};} \right.} & \left\lbrack {{eq}.\mspace{14mu} 1} \right\rbrack \end{matrix}$

The goal of the agent and the opponent is to maximize the utility function:

$\begin{matrix} {{U_{b}(t)} = \frac{{MAX}_{b} - {X_{b}(t)}}{{MAX}_{b} - {MIN}_{b}}} & \left\lbrack {{{eq}.\mspace{14mu} 2}a} \right\rbrack \end{matrix}$

where U_(b) is the utility of the buyer at the negotiation round t, MAX is the maximum amount that the buyer is willing to pay, MIN is the amount corresponding to the opening offer. The utility of the seller is given by:

$\begin{matrix} {{U_{s}(t)} = \frac{{X_{s}(t)} - {MIN}_{s}}{{MAX}_{s} - {MIN}_{s}}} & \left\lbrack {{{eq}.\mspace{14mu} 2}b} \right\rbrack \end{matrix}$

The range of possible offers X_(i)(t) that the parties can agree on is the zone of possible agreement (ZOPA) or the bargaining zone if MAX_(b)>MIN_(s). MAX_(b) and MIN_(s) are named the Reservation Points (RP). The deadline T_(max) corresponds to the negotiation rounds after which one of the party does not find any advantage in seeking for a settlement. An agreement is found when X_(b)(t+1)>=X_(s)(t) or X_(s)(t+1)<=X_(b)(t) per t<=T_(max).

The agent is implemented as a Offer Profiler (FIG. 1), it receives the Agent's and Opponent's actual offers as input and outputs the Agent's recommended offer as part of a offers trajectory leading to a settlement with the best utility.

The mathematical model is a 8-tuples <RAO, ROO, H, CO, D, O, HBS, PAO> where:

-   -   RAO are the actual offers made by the agent satisfying the         properties defined by eq. 1.     -   ROO are the actual offers made by the opponent satisfying the         properties defined by eq. 1.     -   H is the set of historical offers and counter offers which are         sequences of the type {X_(s)(t₀), X_(b)(t₀), X_(s)(t₁),         X_(b)(t₁), X_(s)(t₂), X_(b)(t₂) . . . } with X_(i)(t)∈R and         i∈{b, s}.     -   CO is a tuple of variables and functions denoting the Cognitive         Orientation of the opponent.     -   D is the set of the information related to the domain. These are         the negotiation setup information: opponent's profile,         opponent's guessed RP and agent's RP, opening offers and         historical negotiation data.     -   O is a set of functions having as variables the offers of the         current negotiation. This functions compose the Observer module.         It captures insights and signals from the negotiation's offers         sequence. It tries to fill the gap of the bargaining with         incomplete information, by revealing some aspect critical to         reaching agreement, such as the opponent's Reservation Point.         Learning the possible range of the opponent's private         information allows to alter the agent's concession strategy         adaptively, as a result a better negotiation outcome can be         achieved.     -   HBS is the set of the Hypothetical Bargaining Sequences based on         different Opponent's Models (OM). The Agent Proposer (AP) module         bargains against a specific OM. The generated offers and         counter-offers sequence         {X_(ap)(t₀),X_(om)(t₀),X_(ap)(t₁),X_(om)(t₁), . . . } leads to a         settlement that maximizes the agent's utility. Each AP's offer         is chosen according to the predicted OM's counter-offer. Agent's         utility maximization depends on the accuracy of the OM. The         belief on how well the single model represents the opponent is         determined by different factors (variables):

$\begin{matrix} {\theta_{ml} - {\underset{\theta}{argmax}{{PR}\left( {\left. {ROO} \middle| \theta \right.,{OM}} \right)}}} & \left\lbrack {{eq}.\mspace{14mu} 3} \right\rbrack \end{matrix}$

where ROO are the opponent's real offers, θ are the parameters associated to the non-linear regression that best approximates the curve through ROO.

$\begin{matrix} {\theta_{ml} - {\underset{\theta}{argmax}{{PR}\left( {\left. {ROO} \middle| \theta \right.,{OM}} \right)}{\Pr\left( {\theta,{OM}} \right)}}} & \left\lbrack {{eq}.\mspace{14mu} 4} \right\rbrack \end{matrix}$

Maximum posterior probability given the prior associated to the CO and opponent's matching profile.

-   -   PAO are the set of Proposed Offers which leads to a settlement         that maximizes the Agent's utility:

$\begin{matrix} {U = {\underset{x_{i}{(t)}}{argmax}{{u(t)}.}}} & \left\lbrack {{eq}.\mspace{14mu} 5} \right\rbrack \end{matrix}$

where u(t) (t∈TΛt<T.) is the function of the agent's utility of the type specified by eq. 2. The Proposed Offers are the results of ensembles of experts applied to the HBS set. One preferred embodiment consists in linearly combine the HBS into ensemble:

$\begin{matrix} {{\zeta\left( {x,w} \right)} = {\sum\limits_{j = 1}^{n}{w_{j}*{x_{ap}(t)}}}} & \left\lbrack {{eq}.\mspace{14mu} 6} \right\rbrack \end{matrix}$

where t∈TΛt<T_(max) and w_(j) are the weights associated to each experts j∈HBSΛ j<n. Ensemble weights are dynamically updated on the basis of the proposed offer's current and past performance. The set of parameters w are the ones minimizing the expected mean squared error:

$\begin{matrix} {\eta \approx {\frac{1}{n}\underset{\eta}{argmin}{\sum\limits_{j = 1}^{n}\left( \left( {{f\left( {x_{j},w_{j}} \right)} - r} \right) \right)^{2}}}} & \left\lbrack {{eq}.\mspace{14mu} 7} \right\rbrack \end{matrix}$

where Xn are the opponent predicted offers by the expert j and r are the actual offers.

An innovative approach is applied to the encoding of the offer values and plays a crucial role in the proposed system. Offer sequences are treated as trajectories and as such offers are converted from scalar values into vectors of the type v={α, μ}, which are composed of a direction α and a magnitude β. The former captures the shift direction of the Midpoint (MP) caused by the offer whereas the latter capture the shift magnitude. The MP assumes a relevant importance during the negotiation. It signals the direction of the possible bargaining settlement. Experienced negotiating parties carefully evaluate the MP prior making an offer. It is computed as following:

$\begin{matrix} {{MP} = {\frac{{X_{s}(t)} - {X_{b}(t)}}{2} + {X_{b}(t)}}} & \left\lbrack {{eq}.\mspace{14mu} 8} \right\rbrack \end{matrix}$

Offers can cause MP shifts along between the parties' two initial offers segment ii={X_(s)(t₀), X_(b)(t₀)}. This shift or one-dimensional motion is similarly represented as in the Qualitative Trajectory Calculus (QTC), where its representation is the description of relative rather than absolute motion. MP shift is relative to the two initial offers ii.

The direction (orientation) α can assume the following values {−, 0, +}, where “−” represent a rejection of the opponent's offer, “0” represent the acceptance of the opponent's offer, “+” represent a concession as a response to the opponent's offer.

“−” for X_(b)(t)=X_(b)(t−1)+X_(s)(t−1)−X_(s)(t)−ε

“0” for X_(b)(t)=X_(b)(t−1)+X_(s)(t−1)−X_(s)(t)−

“+” for X_(b)(t)=X_(b)(t−1)+X_(s)(t−1)−X_(s)(t)−δ

where ε∈RΛε>0Λε<|X_(s)(t−1)−X_(s)(t)|; δ∈RΛδ>|X_(s)(t−1)−X_(s)(t)|Λδ≤|X_(s)(t−1)−X_(b)(t−1)|.

The magnitude μ can assume the following values {ε, 0, δ}. These values are discretized to reduce the vector space. The following minimum discrete values indexes are considered in this embodiment:

defensive (d) moderate (m) agressive (a). with d<m<a.

The indexes d, m and a respectively divide the ε and δ segments in N_(d), N_(m), N_(a) intervals with N_(a)<N_(m)≤N_(d).

These intervals define the number of offer rounds required to shift the midpoint of the segments quantity (ε or δ). Other discretization methods can be adopted to increase the granularity.

We define the bargaining act from a negotiating party prospective as a stochastic process composed of a set of states S. The single state is identified by s={a, p, co}Λs∈S. Where a∈A is represented by the vector v={α, μ}. A is the set of the possible actions performed by the opponent in the form of offers. co∈CO is a discrete value representing the cognitive orientation of the negotiating party. p∈P is a discrete value associated to the position of the MP along the segment delimited by the two initial offers ii. The two initial offers segment ii is discretized to reduce the amount of states. The minimum number of segment divisions that we consider for simplicity in this embodiment is the following: p={a, b, c, d, e, f}Λp∈P. Assuming that the agent covers the seller role then

a identifies the position midpoint (MP)≥opponent's reservation point (ORP). b identifies the position ORP≥MP≥agent's target (T). c identifies the position ORP≥MP≈T. d identifies the position OT≥MP≥agent's reservation point RP. e identifies the position OT≥MP≈RP. f identifies the position MP≤RP.

Positioning is symmetrical if the agent is the buyer.

Target T identifies the settlement value considered optimal by the negotiating party (T≥RP for the seller and T≤RP for the buyer). Other embodiments adopts discretization methods to obtain more intervals and increase the granularity.

A tactic is the decision policy for choosing actions in different situations, instead tactic is used in this embodiment to determine the magnitude μ of the vector v. The tactic variable assumes different discrete values indexing the adopted tactic type. The Encoder/Modulator module (FIG. 4) converts the vector v={α, μ} into a scalar offer according to the tactic variable τ_(i)∈T. Some of the tactic types τ_(i) follows below:

Faratin's time dependent family of tactics. These are tactic families where time is the predominant factor. Offers are generated with the objective of reaching a given offer amount (Stop Offer) within a given maximum time (Stop Time).

The rate at which the SO is reached is parametrized by a value β∈

+. There are three types of tactic in this family^(.) Boulware (β<1), Linear (β<=1), Conceder (β>1) where β is the concession parameter:

$\begin{matrix} \left\{ {\begin{matrix} {{MIN}^{i} + {{\alpha^{i}(t)}\left( {{MAX}^{i} - {MIN}^{i}} \right)}} & {{{{if}\mspace{14mu} i} = {buyer}};} \\ {{MIN}^{i} + {\left( {1 - {a^{i}(t)}} \right)\left( {{MAX}^{i} - {MIN}^{i}} \right)}} & {{{if}\mspace{14mu} i} = {seller}} \end{matrix};} \right. & \left\lbrack {{eq}.\mspace{14mu} 9} \right\rbrack \end{matrix}$

where 0≤α^(i)≤1, and can assume one of these forms:

Polinomial:

$\begin{matrix} {{\alpha^{i}(t)} = {k^{i} + {\left( {1 - k^{i}} \right)\left( \frac{\min\left( {t,t_{\max}^{i}} \right)}{t_{\max}^{i}} \right)^{\frac{1}{\beta}}}}} & \left\lbrack {{{eq}.\mspace{14mu} 10}a} \right\rbrack \end{matrix}$

Exponential:

$\begin{matrix} {{\alpha^{i}(t)} = e^{{({1 - \frac{\min{({t,t_{\max}^{i}})}}{t_{\max}^{i}}})}^{\beta}*{Ink}^{i}}} & \left\lbrack {{{eq}.\mspace{14mu} 10}b} \right\rbrack \end{matrix}$

where k^(i)∈[0,1] determines the initial offer at t=0 in [min^(i),max^(i)].

Resource-dependent family of tactics. Offers are generated according to the consumption of the resource. Offers become progressively more conciliatory as the quantity of resource decreases:

α^(i)(t)=K ^(i)+(1−k ^(i))*e ^(−resource) ^(i) ^((t))  [eq. 11]

where

${{resource}^{i}(t)} = \frac{\mu^{i}}{X_{b\leftrightarrow s}^{t}}$

and μ^(i) is the time considered reasonable to be spent on negotiation and |X_(b↔s) ^(t)| is the effort made to keep the negotiation on going (i.e. communication cost).

Behavior-dependent family of tactics. Offers are generated to reproduce in percentage or absolute terms the behavior of the opponent:

Relative Tit-For-Tat:

$\begin{matrix} {X^{t_{n + 1}} = {\min\left( {{\max\left( {{\frac{X_{o}^{t_{n - {2\delta}}}}{X_{o}^{t_{n - {2\delta} + 2}}}*X^{t_{n - 1}}},{MIN}^{i}} \right)},{MAX}^{i}} \right)}} & \left\lbrack {{{eq}.\mspace{14mu} 12}a} \right\rbrack \end{matrix}$

It is reproduced in percentage terms the opponent's offers X_(o) made in the previous δ≥1 rounds.

Random Absolute Tit-For-Tat:

X^(t) ^(n+1) =min(max( X^(t) ^(n−1) +(X_(o) ^(t) ^(n−2δ) −X _(o) ^(t) ^(n−2δ+2) )+(−1)^(v) R(M),MIN^(i)),MAX^(i))  [eq. 12b]

where R(M) is the function that generates a random value in the interval [0,M] and v=0 for the buyer and v=1 for the seller.

Average Tit-For-Tat:

$\begin{matrix} {X^{t_{n + 1}} = {\min\left( {{\max\left( {{\frac{X_{o}^{t_{n - {2\gamma}}}}{X_{o}^{t_{n}}}*X^{t_{n - 1}}},{MIN}^{i}} \right)},{MAX}^{i}} \right)}} & \left\lbrack {{{eq}.\mspace{14mu} 12}c} \right\rbrack \end{matrix}$

It is applied the average of the percentage change in a window of γ≥1 of the opponent's history.

Hybrid family of tactics. These tactics are a combination of the above ones, with parameter values determining the weight with which the single tactic impacts on the final offer value.

We define the Opponent Model (OM) as <S, A, T, PR>.

The Opponent Model consists of internal states S, acts on the external environment through actions A (offers made to the agent), implements tactics T which aim to maximize the utility function according to its preferences PR: RP and T_(max) (FIG. 3).

The Opponent Model is a Markov Decision Process (MDP). However, since opponent's states are partially observable due to the unknown opponent's preferences then the opponent would be more properly modeled as a Partially Observable MDP (POMDP). The state's variable P (MP position relative to RP) is unknown because the opponent's RP is only stochastically inferred after every actual opponent's offer. Also CO is a stochastically inferred.

Although the underlying dynamics of the POMDP are still Markovian, where the future state depends only on the current state and action performed, since the current state is not certain, decisions require keeping track of possibly the entire history of the process, making this a non-Markovian process. However by maintaining a probability distribution over all of the states provides as much information as the entire action-observation history would. Upon certain observations, it is possible to infer the likelihood of the system being in a certain state, called the belief state.

If a belief state is given for time ‘t’, and it is performed an action ‘a’ and get observation ‘z’ then it is possible to compute a new belief state for time ‘t+1’ by applying Bayes' Rule and using the model parameters. An overwhelming computational complexity is involved with planning in belief spaces. It is empirically found that the execution of the same action over time does not take to the same state. For instance repeated rejections of the opponent's offer can produce disappointment/regret, which affects the state transition function. For this reason, but also to reduce the complexity of finding policies that approximate the optimal POMDP policy, MDP is adopted as opponent's model with the addition of some heuristics. MDP allows to have value functions in the states space instead of in the space of beliefs as in case of POMDP. One of the heuristic consists in reducing the state space S: state s={a, p, co} is replaced with s={a, p}. CO is removed from from the MDP state space to be used instead for the generation of different opponent's models OM.

The other heuristic consists in updating the state transition function according to the results of the state-action history analysis.

An MDP is a tuple <S, A, PO, R, γ>, where S is our state space, A is a finite set of actions, PO is the state transition probability function that maps a state and action pair to a probability distribution over S,

P _(a)(ss ¹)=P{S(t+1)=s ¹ |S(t)=s,A(t)=]  [eq. 13]

R is the reward function R:S×A×S

,

R _(a)(s)=E{R(t+1)|S(t)=s,A(t)=a,S(t+1)=s ¹]  eq. [14]

and γ is the discount factor γ∈[0,1]

PO is given in advance by experts as in offline planning but it is continuously updated after every opponent's real offer.

R is an expression of the payoff made associated to the state transition. R_(a)(s) is the immediate reward gained after taking action a in state s that leads to the state s¹. Reward scores R_(a)(s) {R_(a)(s)∈R: −1≤R_(a)(s)≤1} are assigned according to the best action planning, which is modeled on the tuple R(s, a, s¹) expressing the effectiveness of the midpoint shift according to the pair of actions made and received. Higher score is assigned to actions that shift the midpoint toward the opponent's negotiation target at the expense of the agent's utility.

The solution for an MDP is a policy which describes the best action for each state in the MDP. A history starting from state sh∈S corresponds to a sequence: (s_(h), a_(h), s_(h−1), a_(h−1), . . . , a₁, s₀) where ∀i=1, . . . , h, (a_(i), s_(i−1))∈A×S. A decision rule δ: S→A is a mapping from states to actions. The set of all decision rules is denoted by Δ. A policy π is a sequence of decision rules: π=(δ_(h),δ_(h−1), . . . δ₁) where ∀t=1, . . . ,h, δ_(t)∈Δ is the decision rule applied at the t^(th)-to-last step. An optimal policy is a policy that is preferred to any other policy. This is the optimal policy t that maximizes the expected discounted reward:

$\begin{matrix} {{V(s)} = {\sum\limits_{s^{1}}{{P_{\pi{(s)}}\left( {s,s^{1}} \right)}\left( {{R_{\pi{(s)}}\left( {s,s^{1}} \right)} + {{\gamma V}\left( s^{1} \right)}} \right)}}} & \left\lbrack {{eq}.\mspace{14mu} 15} \right\rbrack \\ {{\pi(s)} = {{argmax}_{a}\left\{ {\sum\limits_{s^{1}}{{P\left( {\left. s^{1} \middle| s \right.,a} \right)}\left( {{R\left( {\left. s^{1} \middle| s \right.,a} \right)} + {{\gamma V}\left( s^{1} \right)}} \right)}} \right\}}} & \left\lbrack {{eq}.\mspace{14mu} 16} \right\rbrack \end{matrix}$

Value Iteration (Bellman equation) is applied to find the best action:

$\begin{matrix} {{V_{i + 1}(s)} = {\max_{a}\left\{ {\sum\limits_{s^{1}}{{P_{a}\left( {s,s^{1}} \right)}\left( {{R_{a}\left( {s,s^{1}} \right)} + {{\gamma V}_{i}\left( s^{1} \right)}} \right)}} \right\}}} & \left\lbrack {{eq}.\mspace{14mu} 17} \right\rbrack \end{matrix}$

The decoded offer received from the Agent is fed into the State Analyzer module (FIG. 3), which identifies a corresponding MDP state s∈S. Value Iteration provides the policy π(s) determining the best action a that takes OM from state s to state the following one s¹. State s¹ corresponds to the predicted offer that OM receives from the Agent in response to action a. Direction and magnitude of a together with the active tactic are fed into the Encoder/Modulator module to generate the OM's offer (FIG. 3).

The Agent at each negotiation round, starting from its and the opponent's last offers, select an offer to be submitted to the Opponent, to which the OM replies with a counter-offer according to its MDP policy π(s) . The Agent evaluate the payoff obtained and repeats the above steps until one of the parties decides to settle or quit the negotiation. In other words the Agent evaluates different offers by measuring the utility produced through the predicted development of the following rounds (FIG. 2). Two different approach are used for the offers selection to be submitted to the OM: MiniMax (MM) and Genetic Algorithm (GA). MM is an adversarial search algorithm whereas GA is an adaptive heuristic search algorithm premised on the evolutionary ideas of natural selection and genetic. MM is more accurate but more computational expensive therefore it is preferred the application of GA in case of high numbers of negotiation rounds to be predicted.

The classical MM is the following:

$\begin{matrix} {{{MiniMax}(s)} = \left\{ {\begin{matrix} {\max\limits_{a \in A}{\sum\limits_{s^{1} \in S}{{P\left( {\left. s^{1} \middle| s \right.,a} \right)}{{MiniMax}\left( s^{1} \right)}}}} & {{{{{if}\mspace{14mu} s} \notin {\Omega\bigwedge{i(s)}}} = {agent}};} \\ {\min\limits_{a \in A}{\sum\limits_{s^{1} \in S}{{P\left( {\left. s^{1} \middle| s \right.,a} \right)}{{MiniMax}\left( s^{1} \right)}}}} & {{{{if}\mspace{14mu} s} \notin {\Omega\bigwedge{i(s)}}} = {opponent}} \\ {{utility}(s)} & {{otherwise}\mspace{14mu}\left( {{{terminal}\mspace{14mu}{state}} - {leaf}} \right)} \end{matrix};} \right.} & \left\lbrack {{eq}.\mspace{14mu} 18} \right\rbrack \end{matrix}$

where Ω⊆S is the set of terminal states.

It consists of a tree search amongst nodes alternatively divided into min and max until a leaf is found. Each node has a minimax value which is the best achievable utility against a rational adversary. The max and min nodes returns respectively the values maximizing and minimizing the agent's utility.

It is adopted a modified version of the the classical minimax to reduce the search tree size. The min nodes are replaced by the opponent's (OM) MDP policy:

$\begin{matrix} {{{MiniMax}(s)} = \left\{ {\begin{matrix} {\max\limits_{a \in A}{{MiniMax}\left( {{State}\left( {\pi(s)} \right)} \right)}} & {{{{{if}\mspace{14mu} s} \notin {\Omega\bigwedge{i(s)}}} = {agent}};} \\ {{utility}(s)} & {{otherwise}\mspace{14mu}\left( {{{terminal}\mspace{14mu}{state}} - {leaf}} \right)} \end{matrix};} \right.} & \left\lbrack {{eq}.\mspace{14mu} 19} \right\rbrack \end{matrix}$

where Ω⊆S is the set of terminal states, State is the function that returns the agent's state associated to the opponent's action determined by the MDP policy π for the state s: s¹=State(π(s)). The policy π(s) is computed only once before starting the tree search and updated after every Opponent's real offer.

The best agent's action is given by:

$\begin{matrix} {{E(s)} = {\underset{a \in {A{(s)}}}{argmax}{{MiniMax}(s)}}} & \left\lbrack {{eq}.\mspace{14mu} 20} \right\rbrack \end{matrix}$

A basic Genetic Algorithm is the following:

[Start] Generate random population of n chromosomes. [Fitness] Evaluate the fitness f(x) of each chromosome x in the population. [New population] Create a new population by repeating following steps until the new population is complete.

-   -   [Selection] Select two parent chromosomes from a population         according to their fitness (the better fitness, the bigger         chance to be selected).     -   [Crossover] With a crossover probability cross over the parents         to form a new offspring (children). If no crossover was         performed, offspring is an exact copy of parents.     -   [Mutation] With a mutation probability mutate new offspring at         each locus (position in chromosome).     -   [Accepting] Place new offspring in a new population.         [Replace] Use new generated population for a further run of         algorithm.         [Test] If the end condition is satisfied, stop, and return the         best solution in current population.         [Loop] Go to step 2.

The action vectors v={α, μ} are codified into an integer, which bits sequence compose the genes structure. The chromosome is a sequence of genes with the length corresponding to the maximum estimated rounds number. In other words the chromosome is a sequence of agent's offers (genes) which are selected through the mechanism of evolution. A fitness function evaluate how close a given solution is to the optimum solution. The optimum action is chosen by computing a fitness function function on genetically evolved actions sequence played against a greedy MDP's reaction sequence of the OM. The actions and counter action vectors are evaluated after their conversion into scalar offers by means of the Encoder/Modulator module.

One possible embodiment of the fitness function δ is the following:

δ(t)=(φ(t)+ρ(t))*τ; where τ is the time discount factor {τ∈R: 0≤τ≤1} and φ is the Settlement score:

$\begin{matrix} {{\varphi(t)} = \frac{\left( {{X_{s}\left( t_{0} \right)} - {X_{b}\left( t_{0} \right)}} \right) - \left( {{X_{s}(t)} - {X_{b}(t)}} \right)}{{X_{s}\left( t_{0} \right)} - {X_{b}\left( t_{0} \right)}}} & \left\lbrack {{eq}.\mspace{14mu} 21} \right. \end{matrix}$

with φ∈R: 0≤φ≤1.

Smaller is the difference between the demand and offer higher is the Settlement score. ρ is the Utility score in case the agent is the seller:

$\begin{matrix} {{\rho(t)} = {\frac{{X_{s}(t)} - {RP}_{s}}{{X_{s}\left( t_{0} \right)} - {RP}_{s}} - \frac{{RP}_{b} - {X_{b}(t)}}{{RP}_{b} - {X_{b}\left( t_{0} \right)}}}} & \left\lbrack {{{eq}.\mspace{14mu} 22}a} \right\rbrack \end{matrix}$

with ρ∈R: −1≤ρ<1.

The Utility score is higher as bigger is the difference |midpoint−RP|.

The following is the Utility score in case the agent is buyer:

$\begin{matrix} {{\rho(t)} = {\frac{{RP}_{b} - {X_{b}(t)}}{{RP}_{b} - {X_{b}\left( t_{0} \right)}} - \frac{{X_{s}(t)} - {RP}_{s}}{{X_{s}\left( t_{0} \right)} - {RP}_{s}}}} & \left\lbrack {{{eq}.\mspace{14mu} 22}b} \right\rbrack \end{matrix}$

The opponent's RP is the one estimated by the Observer.

The Opponent Model continuously learn from the opponent's real behavior. The Observer module (FIG. 5) analyzes the opponent's real offers to provide negotiation insights in terms of parameters and variables needed to dynamically adjust the OM during the negotiation process according to the learned opponent's tactics. Tactics τ_(i)∈T are decision functions which can be represented by the non linear function f: x(t)=f(θ₀, θ₁, . . . θ_(n), t)+e(t) where θ_(j) (j∈0 . . . n) are the same function parameters (ii, ORP, T_(max), β, tactic) feeding the Encoder/Modulator module. e(t) is the residual between real offer x(t) from the opponent and the opponent's offer calculated with ˜θ_(j), which are the estimates of parameters θ_(j). Learning the opponent's tactic requires the research the of the fitting curve minimizing e(t), which is a non-linear least square (NLSR) regression. While there are several methods to find the parameter estimates for the NLSR (Steepest descent, Gauss-Newton, Newton, Marquardt, Extended Kalman Filter) this embodiment adopts a total different approach. It adopts Bayesian Learning (BL) to discover the opponent's preferences. It is preferred to use the probability distribution instead of single points estimates. Ordinary NLSR provides a single point estimate for the output, which can be interpreted as the most likely estimate given the data. However, in case of small dataset it's more convenient to express the estimate as a distribution of possible values. In addition if a prior probability distribution is known at the beginning of the negotiation process it can be exploited with Bayesian Learning.

BL approach. The Observer module has a belief about the probability distribution of the opponent's negotiation parameters (i.e. the deadline and reservation offer). By observing opponent's historical offers and comparing them with the fitted offers derived from a regression analysis, the Observer can revise its belief using the Bayesian updating rule. A set of hypothesis H={H₁, H₂, . . . , H_(n)} stands for the assumption that opponent's reservation point (ORP) and negotiation deadline (T_(max)) assume respectively Y={{y₁z₁}, {y₂, z₂}, . . . , {y_(n), z_(n)}} values. The prior probability distribution, denoted by P(H_(i)),(i∈1,2,3 . . . n), signifies the belief about the hypothesis that is, how likely the hypothesis fits the real situation. At first, the probability distribution of the hypotheses can be initialized based on some historical information if available, otherwise a uniform distribution P(H_(i))=1/N is assigned. During each round of negotiation, the probability of each hypothesis can be altered by the Bayesian updating rule:

$\begin{matrix} {{P\left( H_{i} \middle| O \right)} = \frac{{P\left( H_{i} \right)}{P\left( O \middle| H_{i} \right)}}{\sum\limits_{k = 1}^{n}{{P\left( O \middle| H_{k} \right)}{P\left( H_{k} \right)}}}} & \left\lbrack {{eq}.\mspace{14mu} 23} \right\rbrack \end{matrix}$

where the conditional probability P(O|H_(i)) represents the likelihood that outcome O might happen based on hypothesis H_(i). The observed outcome O is the opponent's historical offers O(t)={x(t₀), x(t₁), . . . , x(t_(n))}. The conditional probability P(O|H_(i)) thereby means how likely the historical offer O(t) can happen based on the hypothesis Hi that opponent's real reservation point assume the Yi value. The posterior probability P(H_(i)|O) is a renewed belief based on the observed outcome O and at next round, the prior probability P(H_(i)) will be updated using the posterior probability P(H_(i)|O), thus a more precise estimation is achieved.

The conditional probability P(H_(i)|O) is obtained by comparing the fitted points Õ(t) on the regression line based on each reservation point X_(i) with the historical offers O(t). The more consistent the fitted offers are with opponent's historical offers, the higher the conditional probability P(H_(i)|O) will be. The procedure consists in creating a chart where the y-axis represents the opponent's offers O_(n)={p₀, p₁, . . . , p_(n)} and the x-axis represent the rounds number. Selected chart areas, hereinafter named Searched Areas (SA), are divided into cells forming a matrix. Each cell is associated to the hypothesis that the opponent's reservation point and negotiation deadline fall in it. At round t_(b) a random reservation point X_(i)(t_(i) ^(x),p_(i) ^(x)) is selected for each cell.

Assuming that the opponent applies a time-dependent tactic, the following power regression function is generated to calculate the regression curve passing from the previously selected points Xi:

${X(t)} = {p_{0} + {\left( {p_{i}^{x} - p_{0}} \right)*\left( \frac{t}{t_{i}^{x}} \right)^{b}}}$

The regression coefficient b is the concession parameter β in the time dependent tactics family (refer to eq. 10a):

$b = \frac{\sum\limits_{i = 1}^{tb}{t_{i}^{*}p_{i}^{*}}}{\sum\limits_{i = 1}^{tb}t_{i}^{*2}}$ where ${p_{i}^{*} = {\ln\frac{p_{0} - p_{i}}{p_{0} - p_{i}^{x}}}},{t^{*} = {\ln\frac{t}{t_{i}^{*}}}}$

The coefficient of nonlinear correlation γ can be calculated by:

$\begin{matrix} {\gamma = \frac{\sum\limits_{i = 1}^{t_{b}}{\left( {p_{i} - \overset{\_}{p}} \right)( - )}}{\sqrt{\sum\limits_{i = 1}^{t_{b}}{\left( {p_{i} - \overset{\_}{p}} \right)^{2}{\sum\limits_{i = 1}^{n}( - )^{2}}}}}} & \left\lbrack {{eq}.\mspace{14mu} 24} \right\rbrack \end{matrix}$

where {circumflex over (p)} is the average value of all the fitted offers till time t_(b) and p represents the average value of all the historical offers. The non-linear correlation γ, where (0≤γ≤1), is a parameter reflecting the non-linear similarity between the fitted offers Õ(t) and the historical offers 0(t), which can be used as a criterion to evaluate the resemblance between the random reservation point X_(i) and seller's real reservation point X. The value of the non-linear correlation γ is used for the conditional probability P(O|H_(i)).

The most probable reservation point and deadline Xi(ti, pi) corresponds to the most probable hypothesis which is given by the maximum a posteriori probability (MAP):

$\begin{matrix} {H_{map} = {\underset{H_{i} \in H}{argmax}{P\left( H_{i} \middle| O \right)}}} & \left\lbrack {{eq}.\mspace{14mu} 25} \right\rbrack \end{matrix}$

The above described BL process can be synthesize with the following equation:

H _(xi) =f(P(H _(i)),γ)  [eq. 26]

The most probable hypothesis, given the priors and non-linear correlation values, is the maximum a posteriori hypothesis.

In general the opponent may change the adopted tactic during the negotiation, therefore multiple SA and different type of regression curves may be required. It is chosen to repeat the application of the Bayesian Learning for every significative combinations of SA and tactic types, thus providing multiple maximum a posteriori probability (MAP). Each of these MAP is associated to the hypothesis that the opponent's reservation point and negotiation deadline falls in one of the cells of different combinations SA and tactic. A second layer of Bayesian Learning is added with MAP as likelihood values whereas prior are determined in accordance to heuristics and historical data:

$\begin{matrix} {{{P^{1}\left( O \middle| H_{i} \right)} = H_{xi}}{{P^{1}\left( H_{i} \middle| O \right)} = \frac{{P^{1}\left( H_{i} \right)}{P^{1}\left( O \middle| H_{i} \right)}}{\sum\limits_{k = 1}^{n}{{P^{1}\left( O \middle| H_{k} \right)}{P^{1}\left( H_{k} \right)}}}}{H_{map}^{1} = {\underset{H_{i} \in H}{argmax}{P^{1}\left( H_{i} \middle| O \right)}}}} & \left\lbrack {{eq}.\mspace{14mu} 27} \right\rbrack \end{matrix}$

The overall described BL process can be synthesize with the following equation:

H _(xi) ¹ =g(H _(xi) ,SA _(i),τ_(i))  [eq. 28]

where H_(xi) ¹ are the priors, SA_(i) are the Searched Areas, τ_(i)∈T are the tactics.

Significative SA and tactics are chosen according to a set of signals Ψ captured during the negotiation.

Signals are revealed by specific offers or offer sequences (H). A set of equations G, which comprises hand crafted equations and Recurring Neural Network (RNN) algorithms, computes the signals Ψ=G(H).

SA are provided by applying rule-based methods for the Ψ analysis.

The tactic variable τ_(i)∈T is the result of the following equation:

τ_(i) =f(Ψ,CO)  [eq. 29]

where the cognitive orientation of the opponent is provided by the CO module analyzing the parties's profiles, communications and exchanged documents.

For example a particular offers sequence could signal the opponent's disappointment or regret, which combined with the cognitive orientation status may trigger a tactic change.

The CO module is out of the scope of this invention and therefore is treated as a black box.

The co value is also used to select the OM's MDP state transition matrixes. The number of these matrixes corresponds to the range of the possible values of CO. The selection of the single matrix m_(i) is given by the following equation:

$\begin{matrix} {m_{i} = {\underset{co}{argmax}{P\left( {co}_{i} \right)}}} & \left\lbrack {{eq}.\mspace{14mu} 30} \right\rbrack \end{matrix}$

where P defines the probability distribution of the cognitive orientation.

Different m_(i) values select the matrixes corresponding to the cognitive orientation with the highest probabilities. An OM is created for every state transition matrix selection m_(i). An HBS predictor model [FIG. 2] is created for every OM.

The ensemble unifies the HBS of all the predictor models' {m₁, m₂, . . . , m_(n)} into one single prediction with the application of the Ensemble Weighted Average:

X ¹(t)=W _(m) ₁ *X _(m) ¹(t)+W_(m) ₂ *X _(m) ₂ ¹(t)+ . . . +W_(m) _(n) *X _(m) _(n) ¹(t)  [eq. 31]

where X_(m) _(j[1 . . . n]) ¹ (t) are the predictions of the models m_(j[1 . . . n]) and W_(m) _(j[1 . . . n]) are the weights associated to the models. The weight is assigned according to the belief of how well the single model represents the opponent. The model weight is computed using the Bayesian rule:

$\begin{matrix} {{P\left( M_{j} \middle| {ROO} \right)} = \frac{{P\left( {CO}_{j} \right)}{P\left( {ROO} \middle| M_{j} \right)}}{\sum\limits_{k = 1}^{n}{{P\left( {ROO} \middle| M_{k} \right)}{P\left( {CO}_{k} \right)}}}} & \left\lbrack {{eq}.\mspace{14mu} 32} \right\rbrack \end{matrix}$

where the probability distribution of the cognitive orientation P(CO_(k)) are the priors. The likelihood P(ROO|M_(k)) expresses the regression goodness of fit on the real opponent's offers ROO={x(t₀), x(t₁), . . . , x(t_(n))} given by the the coefficient of nonlinear correlation γ. In addition to the regression the likelihood express how well the model's predicted action sequence ({aa(t₀), ao(t₀), aa(t₁), ao(t₁), . . . , aa(t_(n)), ao(t_(n))}, aa agent action and ao opponent action ∈A) matches the real ones. The longest common subsequence of sequences (LCS) is computed for all the models MK as well as the similarity measure S:

$\begin{matrix} {{{sim}\left( {{HBS}_{k{\lbrack{1\mspace{14mu}\ldots\mspace{14mu} n}\rbrack}},{ROO}} \right)} = \frac{{LCS}\left( {{HBS}_{k{\lbrack{1\mspace{14mu}\ldots\mspace{14mu} n}\rbrack}},{ROO}} \right)}{{HBS}_{k{\lbrack{1\mspace{14mu}\ldots\mspace{14mu} n}\rbrack}}}} & \left\lbrack {{eq}.\mspace{14mu} 33} \right\rbrack \end{matrix}$

The similarity measure here represents the probability that model M_(k)'s prediction matches the real one. sim is combined with y to compose the likelihood. The conflation of the probabilities is adopted for this combination, that is, sim and γ are multiplied together and then renormalized:

${P\left( {ROO} \middle| M_{k} \right)} = \frac{{{sim}\left( {{HBS}_{k{\lbrack{1\mspace{14mu}\ldots\mspace{14mu} n}\rbrack}},{ROO}} \right)}*\gamma_{k}}{\begin{matrix} {{{{sim}\left( {{HBS}_{k{\lbrack{1\mspace{14mu}\ldots\mspace{14mu} n}\rbrack}},{ROO}} \right)}*\gamma_{k}} +} \\ {\left( {1 - {{sim}\left( {{HBS}_{k{\lbrack{1\mspace{14mu}\ldots\mspace{14mu} n}\rbrack}},{ROO}} \right)}} \right)*\left( {1 - \gamma_{k}} \right)} \end{matrix}}$

In conclusion the weight is the posterior probability: W_(m) _(j) =P(M_(j)|ROO).

The Bayesian rule computation is restarted from the first offer of ROO at every new given prior P(CO_(k)).

The probability distribution of the cognitive orientation determines also tactics τ_(i) and tactic specific parameters:

$\begin{matrix} {\tau_{i} = {f\left( {\underset{co}{argmax}{P\left( {co}_{i} \right)}} \right)}} & \left\lbrack {{eq}.\mspace{14mu} 34} \right\rbrack \\ {\beta = {g\left( {{\underset{co}{argmax}{P\left( {co}_{i} \right)}},\tau_{i}} \right)}} & \left\lbrack {{eq}.\mspace{14mu} 35} \right\rbrack \end{matrix}$

β is the parameter of the Faratin's time dependent family of tactics. Others parameters associated to different tactics are computed in the same way.

The MDP state transition probabilities define how likely the opponent in the state Si makes an action Aj which takes the opponent to the new state S′i. The state and action pair probability is composed of two different probabilities: one associated to a Markovian process and the other associated to a non-Markovian one. The latter, probability, named Pseq, depends on the state-action sequence, whereas the first one, named Pinf, depends only from the current state and it comes from expert knowledge and state transition frequency measured from historical data. These probabilities are combined together using linear pool or other probabilities aggregating methods:

P(A _(j))=agg(Pinf(A _(j)),Pseq(A _(j)))  [eq. 36]

The OM model learns from the opponent's real offers ROO by updating the MDP state transition probabilities (Pinf) with the actual action occurrence. The action event is converted into probability Pfreq of value 1. It is assigned to the current state Si, associated to all the models Mk selected by in proportion to the probability measure that model M_(j)'s prediction matches the real one:

Pinf(E _(j) |A _(j) =Pfreq*P _(m) _(k) (A _(j))  [eq. 37]

Bayesian inference is adopted to compute the posterior probability associated to the action A_(j) given the evidence Pinf(E_(j)|A_(j)) and the prior Pinf(A_(j)):

$\begin{matrix} {{{Pinf}\left( A_{j} \middle| E_{j} \right)} = \frac{{{Pinf}\left( E_{j} \middle| A_{j} \right)}{{Pinf}\left( A_{j} \right)}}{\sum\limits_{k = 1}^{n}{{{Pinf}\left( E_{j} \middle| A_{j} \right)}{{Pinf}\left( A_{j} \right)}}}} & \left\lbrack {{eq}.\mspace{14mu} 38} \right\rbrack \end{matrix}$

where the occurrence E_(j) of the action A_(j) is the likelihood.

The association between Pinf and the MDP state s={a, p} is corrected offline to account for the possible difference between the opponent's RP online estimation and the one acquired offline at the end of the negotiation.

The opponent's RP acquired at the end of the negotiation is the upper bound for the seller and the lower bound for the buyer of the set of all the possible real RPs.

This embodiment, in addition to the adoption of Recurring Neural Network (RNN) algorithms for the computation of signals Ψ, employs LSTM for the computation of Pseq. From a probabilistic perspective, Pseq computation is the task of predicting the next action, ao(t), from previous history of actions {aa(t−1), ao(t−1), aa(t−2), ao(t−2), . . . }. In other words, the main problem is to find:

$\underset{{ao}{(t)}}{argmax}{p\left( {\left. {{ao}(t)} \middle| {{aa}\left( {t - 1} \right)} \right.,{{ao}\left( {t - 1} \right)},{{aa}\left( {t - 2} \right)},{{ao}\left( {t - 2} \right)},\ldots,m_{i}} \right)}$

However, the next action depends also on the cognitive orientation of the OM during the sequence generation.

The LSTM architecture uses memory cells to store relevant information needed to learn long range temporal dependencies in the data. Concretely, at each time step t, the LSTM takes x_(t), h_(t−1), c_(t−1) and produces h_(t), c_(t) via the following calculations:

i _(t)=σ(W ^(i) x _(t) +U ^(i) h _(t−1) +b ^(i))

f _(t)=σ(W ^(f) x _(t) +U ^(f) h _(t−1) +b ^(f))

o _(t)=σ(W ^(o) x _(t) +U ^(o) h _(t−1) +b ^(o))

g _(t)=tan h(W ^(g) x _(t) +U ^(g) h _(t−1) +b ^(g))

c _(t) =f _(t) ⊙c _(t−1) +i _(t) ⊙g _(t)

h _(t) =o _(t)⊙tan h(c _(t))

where i_(t), f_(t), o_(t) are the input, forget, and output gates.

LSTM training data consists of the action sequence history of the past negotiations. LSTM is fed with the sequence of discrete values corresponding to action vectors v={α, μ} summed to the associated cognitive orientation mi with the objective of obtaining distinct groups of curves per single m_(i) value. LSTM is replaced with Compact Prediction Tree (CPT) to avoid costly training process when new sequences are encountered frequently. CPT is out of the scope of this invention and therefore is treated as a black box.

In another embodiment the MDP state transition probabilities map is created and updated by means of Meta-RL. The meta-learning model is a recurrent network with LSTM cell. LSTM internalizes the action-state transaction history to compute the probabilities P(s, a, s′).

This embodiment adopts another heuristic to compensate the approximated computation of the expected MDP rewards due to the opponent's preferences uncertainty. A measurement of Efficiency is computed for every action a returned by the policy π(s). It avoids the repetition of actions that could stall the MDP process. If the action a returned by the value iteration for the state s is the same as the last one made π(s(t))=t(s(t−1)) and it had a negative measurement of Efficiency then the new action is selected using the roulette wheel selection method:

Par=ΣPa _(i[1 . . . n]) *r  [eq. 39]

where r is a random generated number, r∈(0,1). The new action a_(j) is indexed by the j value, which is given when the following becomes true ΣPa_(i[1 . . . n])>Par.

In other words, the new action is randomly provided but according to the actions probability distribution of the state s∈S. Efficiency is computed by comparing the midpoint advancement with its expected position according to the offers distance and the remaining rounds number:

Ef=ExpectedMP/ActualMP.  [eq. 40]

Curve regression is also applied to the agent's and opponent's offers history. The intersection between the two curves fitting provides an estimation of the settlement point. 

What is claimed is:
 1. A method for performing automated negotiations, comprising: intelligent agent computer programs executable on computer systems for receiving the agent's and opponent's actual offers as input; and output the agent's recommended offer leading to a settlement that maximizes the agent's utility.
 2. The method as in claim 1, wherein the intelligent agent computer programs comprise: a set of opponent's models best representing the opponent's profile and behaviors; a set of hypothetical agents paired to the opponent's models; wherein the hypothetical agent and the associated opponent model bargain against each other to generate a hypothetical sequence of proposed agent's offers and predicted opponent's counter offers.
 3. The method as in claim 2, further comprising an ensemble for: unifying the predicted sequences of the opponent's offers into a sequence of best predicted opponent's offers on the basis of the current and past performance; unifying the proposed offers sequences into a sequence of actual agent's offers on the basis of the current and past performance; wherein the performance measurement includes: how well the opponent's model represents the opponent; how well the predicted opponent's offers match the opponent's actual offers; the maximum utility value that the proposed agent's offers can achieve.
 4. The opponent model as in claim 2, further comprising a probability distribution function that maps the negotiation internal states to a set actions; the opponent's model is driven into an internal state upon the reception of the agent's offer, and reacts with an action according to the probability distribution; wherein a cognitive orientation value of the opponent is used to select the probability distribution function associated to the specific opponent's model;
 5. The agent as in claim 2, further comprising the following methods: select an offer to be submitted to the opponent model at each negotiation round; the opponent model replies with a counter-offer according to its internal state and the probability distribution function; evaluate the payoff obtained and repeats the above steps until one of the parties decides to settle or quit the negotiation.
 6. A computer-implemented method, comprising a set of functions for converting offers and counter offers scalar values into vectors; wherein the vector is composed of a direction and a magnitude associated to the midpoint's shift along the offer and counter offer sequences.
 7. The method as in claim 6, wherein adopting a negotiation tactic as decision function; wherein the tactic comprises a non linear function operating on the vector magnitude.
 8. The method as in claim 6, wherein assigning a position value to the midpoint relatively to the agent's and opponent's preferences.
 9. The method as in claim 6, wherein associating the cognitive orientation value to the opponent model according to the opponent's profile and behavior.
 10. The method as in claim 6, further comprising: storing the states of the current negotiation's offers sequence in a data base; wherein a set of stochastic states composes the negotiation process; wherein the state comprises the vector, the midpoint position and the cognitive orientation; comparing the states of current negotiation's offers sequence with the past ones to estimate the parties' preferences and identify recurrent offer and counter offer patterns; learning the opponent's adopted tactic to dynamically adjust the opponent's model.
 11. A computer-implemented method, comprising a set of functions for: determining an initial belief about the probability distribution of the opponent's preferences according to the historical negotiation's data. revising the belief about the probability distribution of the opponent's preferences according to observed outcomes of the current negotiation. estimating the opponent's preferences in accordance to their probability distribution.
 12. The method as in claim 11, further comprising functions for: computing the probability distribution of the opponent's preferences; having as independent variables the priors of the preferences hypothesis, the search areas, and the opponent's tactics; with multiple maximum a posteriori probability estimates as dependent variable; generating a single maximum a posteriori probability estimate using a two layers Bayesian Learning where the multiple maximum a posteriori probability estimates are given as likelihoods and the priors are determined in accordance with heuristics and historical data.
 13. The method as in claim 11, further comprising a set of functions for identifying and classifying the negotiation signals; which serve to determine the search areas and tactics, wherein the signals are revealed by analyzing specific offers or offer sequences. 